package com.jrx.anytxn.param.service.investor;

import com.jrx.anytxn.common.exception.TxnException;
import com.jrx.anytxn.i18n.response.TxnPage;
import com.jrx.anytxn.param.dto.investor.GaInvestorSubjectConfigReq;
import com.jrx.anytxn.param.dto.investor.GaInvestorSubjectConfigRes;

/**
 * 出资方科目配置表 业务接口
 *
 * @author 黄秋平
 * @create 2020/6/15
 */
public interface IGaInvestorSubjectConfigService {

    /**
     * 根据租户ID分页查询出资方科目配置表
     * @param pageNum
     * @param pageSize
     * @param tenantId
     * @return
     */
    TxnPage<GaInvestorSubjectConfigRes> findAllPageByTenId(Integer pageNum, Integer pageSize, String tenantId) throws TxnException;


    /**
     * 添加出资方科目配置表
     * @param gaInvestorSubjectConfigReq
     * @return
     * @throws TxnException
     */
    GaInvestorSubjectConfigRes addInvestorTable(GaInvestorSubjectConfigReq gaInvestorSubjectConfigReq) throws TxnException;


    /**
     * 更新出资方科目配置表
     * @param gaInvestorSubjectConfigReq
     * @return
     * @throws TxnException
     */
    GaInvestorSubjectConfigRes modifyInvestorTable(GaInvestorSubjectConfigReq gaInvestorSubjectConfigReq) throws TxnException;


    /**
     * 根据租户ID和利ID删除此信息
     * @param tenantId
     * @param investorId
     * @return
     * @throws TxnException
     */
    Boolean removeByInvestorIdAndTenId(String investorId, String tenantId,String orgId) throws TxnException;


    /**
     * 根据租户ID和出资方ID查寻信息
     * @param tenantId
     * @param investorId
     * @return
     * @throws TxnException
     */
    GaInvestorSubjectConfigRes findByTenIdAndInvestorId(String tenantId, String investorId,String orgId) throws TxnException;
}
